﻿using Microsoft.AspNetCore.Mvc;

namespace RndMaterialDisposalService.Models.RequestModel
{
    /// <summary>
    /// 
    /// </summary>
    public class InternalVehicleFormDataReq
    {
        /// <summary>
        /// 
        /// </summary>
        public ApproverInfoModel Approver { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Applicant { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [BindProperty(Name = "applicantId")]
        public string? ApplicantId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime? ApplicantDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public FormHeader FormHeader { get; set; } = new FormHeader();
        /// <summary>
        /// 
        /// </summary>
        public List<Attachment> UploadFiles { get; set; } = new List<Attachment>();
        /// <summary>
        /// 
        /// </summary>
        public string Signature { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? ReturnAddress { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DeptName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DeptCode { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? UseCarName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? UseCarId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? UserMobile { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int? PeopleNum { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime? UseCarDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime? UseCarTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int? NoNeedBack { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int? LongDistance { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime? ReturnDate { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public DateTime? ReturnTime { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? StartAddress { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DetailDescription { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Remark { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? VehicleRequirement { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? OtherRequirement { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DeptLeader { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DeptLeaderId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DispatchArea { get; set; }

        /// <summary>
        /// 
        /// </summary>
        public Node3? Task3 { get; set; }
    }

    /// <summary>
    /// 
    /// </summary>
    public class ApproverInfoModel 
    {
        /// <summary>
        /// 
        /// </summary>
        public UserModel DispatchArea { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public UserModel DeptLeader { get; set; }
    }

    /// <summary>
    /// 
    /// </summary>
    public class Node3 {
        /// <summary>
        /// 
        /// </summary>
        public int? HaveCar { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public int? PrivateCar { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? CarNumber { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DriverName { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DriverMobile { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DriverId { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? DispatchRemark { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string? Remark { get; set; }
    }
}
